#!/bin/bash

SOURCE_DIR="/mnt/novel/renamed"
TARGET_DIR="/mnt/novel/test"
MAX_FILES=1000

# 创建目标目录
mkdir -p "$TARGET_DIR"

echo "开始随机遍历目录并选择文件..."
echo "目标：复制 $MAX_FILES 个 txt 文件"

# 初始化计数器
copied_count=0

# 递归遍历函数
traverse_directory() {
    local current_dir="$1"
    
    # 遍历当前目录中的所有项
    for item in "$current_dir"/*; do
        # 如果已经达到目标数量，立即返回
        if [ $copied_count -ge $MAX_FILES ]; then
        return
    fi
        
        # 判断是否为目录
        if [ -d "$item" ]; then
            # 随机决定是否进入子目录 (50% 概率)
            if [ $((RANDOM % 2)) -eq 1 ]; then
                echo "进入子目录: $(basename "$item")"
                traverse_directory "$item"
            else
                echo "跳过子目录: $(basename "$item")"
            fi
        elif [ -f "$item" ] && [[ "$item" == *.txt ]]; then
            # 随机决定是否复制文件 (20% 概率)您好，


            if [ $((RANDOM % 5)) -eq 1 ]; then
                cp "$item" "$TARGET_DIR/"
                copied_count=$((copied_count + 1))
                echo "[$copied_count/$MAX_FILES] 复制: $(basename "$item")"
                
                
                # 如果达到目标数量，立即返回
                if [ $copied_count -ge $MAX_FILES ]; then
                    return
                fi
            fi
        fi
    done
}

# 开始遍历
traverse_directory "$SOURCE_DIR"

echo ""
echo "随机遍历完成！"
echo "总共复制了 $copied_count 个 txt 文件到 $TARGET_DIR"